package com.example.RuanJianKeShe.Dao;

import com.example.RuanJianKeShe.Bean.Course;
import com.example.RuanJianKeShe.Bean.SC;
import com.example.RuanJianKeShe.Bean.Student;

import java.util.List;

public interface StuCourseDao {

    /**
     *添加学生选课信息
     * @param sc 选课对象
     * @return Boolean
     */
    public Boolean addStuCourse(SC sc);

    /**
     * 通过学号获取学生选课
     * @param sno 学号
     * @return 学生选课列表
     */
    public List<Course> getCourseBySno(int sno);


    /**
     * 通过学号课程号删除学生选课信息
     * @param sno 学号
     * @param cno 课程号
     * @return Boolean
     */
    public Boolean delStuCourseBySnoAndPno(int sno,int cno);


    /**
     * 查询所有选课记录
     * @return 所有选课信息
     */
    public List<SC> getAllSC();

    /**
     * 通过cno得到选课学生数量
     */
    public int getStuSumByCno(int cno);

    /**
     * 判断是否存在该信息
     * @param sno 学号
     * @param cno 课程号
     * @return 是否存在相同的选课信息
     */
    public boolean isExist(int sno,int cno);

    /**
     * 返回一条选课信息
     * @param sno 学号
     * @param cno 课程号
     * @return 选课信息
     */
    public SC getStuCourse(int sno,int cno);

    /**
     * 获取某门课程的所有学生
     * @param cno 课程号
     * @return 学生列表int
     */
    public List<Student> getStudentBySC( int cno);

    /**
     *修改学生成绩
     * @param sc 选课记录
     * @return
     */
    public boolean setStuCourseGrade(SC sc);

}
